package main

import (
	"net"
	"fmt"
	"os"
)

func main() {

	//新建TCP客户端
	conn, err := net.Dial("tcp", "127.0.0.1:8000")
	if err != nil {
		fmt.Println(err)
		return
	}

	//使用完之后关闭
	defer conn.Close()

	//新开一个子协程用来获取用户输入的内容，并把内容发送给服务器
	go func() {
		buf := make([]byte, 1024)
		//使用for循环，防止协程退出
		for {
			n, err1 := os.Stdin.Read(buf)
			if err1 != nil {
				fmt.Println(err1)
				return
			}
			conn.Write(buf[:n])
		}
	}()

	str := make([]byte, 1024)
	for {
		n, err2 := conn.Read(str)
		if err2 != nil {
			fmt.Println(err2)
			return
		}

		fmt.Println(string(str[:n]))
	}
}
